问题现象
开机 0-3 s 串口打印异常,log 大致如下:
1 | CPLWC�+lH�ؐL)�������ꁳ�ݵ��}�ɽ��������������r���͑�����j郵���rŽ��Ց����͕͕͑͑́ |
调试步骤
抓取串口波形
在 0-3s 串口波形异常。
检查上电
APIO4 = 3.0V
PMUIO2 = 3.0V
参考 rk 文档
kernel/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
设置方法如下:
1 | Possible supplies for rk3399: |
检查 dts 中的设置为
1 | &io_domains { |
正确无误。
获取 kernel 起来后实际配置的 pmu io 电压
1 | root@rk3399_mid:/ # io -4 -r 0xFF320180 |
所以实际起作用是 3v,没问题。
获取开机阶段实际配置的 pmu io 电压
获取 uboot 阶段中寄存器的配置可以这样做,在如下地方添加打印
1 | void __iomem *base_addr; |
但是我们串口有问题啊!
添加了打印也看不到任何信息。
没辙!
检查 PMUIO2 power domain 部分电压是否正常
既然为 3.0V 需要上拉电阻来进行驱动强度选择。
所以这个 R90029 应该贴了才行。
但是实际没贴。
贴上后串口打印正常。问题解决。